package com.dylan.历史.多线程.并发编程的艺术.原子操作;

import java.util.concurrent.atomic.AtomicIntegerArray;
import java.util.concurrent.atomic.AtomicLongArray;
import java.util.concurrent.atomic.AtomicReferenceArray;

/**
 * Created by Dylan on 2018/9/20.
 */
public class 基本类型数组 {

    public static void main(String[] args) {
        AtomicIntegerArray integerArray = new AtomicIntegerArray(new int[]{1, 2, 3, 4});
        AtomicLongArray longArray = new AtomicLongArray(new long[]{1, 2, 3, 4});

        // 原子方式对下标为2的元素进行自增
        integerArray.incrementAndGet(2);
        longArray.incrementAndGet(2);

        // 原子方式对下标为1的元素进行相加
        integerArray.addAndGet(1, 3);
        longArray.addAndGet(1, 3);

        // 原子方式对下标为3的元素进行更新
        integerArray.compareAndSet(3, 4, 5);
        longArray.compareAndSet(3, 4, 5);


    }
}
